<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 
        伪数组：有length属性 但是没有数组的方法
        常见伪数组：arguments document.getElementsByTags
     -->
</head>
<body>
    <div class="div1"></div>
    <div class="div2"></div>
    <div class="div3"></div>
    <div class="div4"></div>
    <div class="div5"></div>
    <script>
        // 假设我们获取到了一个一个页面的所有div，这就是一个伪数组。
        const fakeArr = document.getElementsByTagName('div');
        console.log(fakeArr,'伪数组');
        // 1.slice() 方法可从已有的数组中返回选定的元素的新数组，start,end两个参数不传默认就是从0开始一直到尾
        const realArr1 = Array.prototype.slice.call(fakeArr,0);
        console.log(realArr1);
        
        // 2.Array.form(obj),ES6的新语法
        const realArr2 = Array.from(fakeArr)
        console.log(realArr2);

        // 3.拓展运算符
        const realArr3 = [...fakeArr]
        console.log(realArr3);
    </script>
</body>
</html>